﻿#ifndef __LVGL_clock_H__
#define __LVGL_clock_H__

#include "lvgl.h"

#if 1
#define lvgl_clock_debug(format, ...) lvgl_project_debug("[clock]- ",format,##__VA_ARGS__);
#else
#define lvgl_clock_debug(format, ...) ;
#endif

#define MIAO_LEN    75
#define FEN_LEN     65
#define SHI_LEN     55

typedef struct
{

	lv_obj_t *cont_main;

	lv_task_t *task;

    lv_anim_t* anim_in;
    lv_anim_t* anim_out;
    lv_anim_path_t* anim_path_in;
    lv_anim_path_t* anim_path_out;

	lv_anim_t lv_anim;

	lv_anim_t lv_anim_Shi;
	lv_anim_t lv_anim_Fen;
	lv_anim_t lv_anim_Miao;

	lv_anim_t lv_anim_Shi_Zou;
	lv_anim_t lv_anim_Fen_Zou;
	lv_anim_t lv_anim_Miao_Zou;


    lv_task_t* close_task;
    bool close_flag;
    uint32_t close_count;
    uint8_t close_num;


	int Shi;
	int Fen;
	int Miao;
	int Nian;
	int Yue;
	int Ri;
	float Angle_Shi;
	float Angle_Fen;
	float Angle_Miao;


}_lvgl_clock_data;

extern _lvgl_clock_data lvgl_clock_data;


void lvgl_clock_create(lv_obj_t * Fu);
void lvgl_clock_close(void);
void clock_TaskCb(lv_task_t *t);
void clock_anim_DongHua_Jin(void);
void clock_anim_Jin_cb(void * arc, lv_anim_value_t v);
void clock_anim_Chu_cb(void * arc, lv_anim_value_t v);
void clock_anim_Jin_ready_cb(lv_anim_t * anim);
void clock_anim_Chu_ready_cb(lv_anim_t * anim);

void clock_anim_Shi_cb(void * arc, lv_anim_value_t v);
void clock_anim_Fen_cb(void * arc, lv_anim_value_t v);
void clock_anim_Miao_cb(void * arc, lv_anim_value_t v);
void clock_anim_Miao_ready_cb(lv_anim_t * anim);

void clock_anim_Miao_Zou_cb(void * arc, lv_anim_value_t v);
void clock_anim_ShiJian_Zou_Init(void);
void clock_anim_Miao_Zou(int dat);

#endif
